package com.xuwei.base.generic;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;

import org.junit.Test;

//泛型
public class Demo1 {
	@Test
	public void test1(){
		List list=new ArrayList();
		list.add(1);//自动装箱
		list.add("hello");
		
		Iterator it=list.iterator();
		while(it.hasNext()){
			Object obj=it.next();
			//不确定是什么类型
			System.out.println(obj);
		}
		
	}
	
	@Test
	public void test2(){
		List<String> list=new ArrayList<String>();
		list.add("u");//自动装箱
		list.add("hello");
		
	    for(String s:list){
	    	System.out.println(s);
	    }
		
	}
	
	@Test//泛型遍历Map,方式一 
	public void test3(){
		Map<Integer,String> map=new LinkedHashMap<Integer,String>();
		map.put(1, "aaa");
		map.put(2, "bbb");
		map.put(3, "ccc");
		map.put(4, "ddd");
		
		Set<Integer> keys=map.keySet();
		for(Integer i:keys){
			String value=map.get(i);
			System.out.println("key"+i+"\tvalue:"+value);
		}
		
	}
	
	@Test//泛型遍历Map，方式二
	public void test4(){
		Map<String,String> map=new LinkedHashMap<String,String>();
		map.put("a", "aaa");
		map.put("b", "bbb");
		map.put("c", "ccc");
		map.put("d", "ddd");
		
		Set<Map.Entry<String, String>> set=map.entrySet();//Set中的元素是Map.Entry类型的
		for(Map.Entry<String, String> me:set){
			String key=me.getKey();
			String value=me.getValue();
			System.out.println("key:"+key+"\tvalue:"+value);			
		}	
	}
	

	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	

}
